home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs06.d81
/
mixednum.ber
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2009-10-10
|
9KB
|
298 lines
1 GOTO910
2 REM ** ML STOP KEY DISABLE **
3 PRINT"x[169]=[141][169][141]X` [234][255][169][255][133][145]L4[234]x[169]1[141][169][234][141]X`
4 [153]"xhhh+hNOThhhhhhhPRINT#HRUNHX`111"
5 [153]"hhhhhhh`1"
6 [143] ** 4 - POP ML SUBROUTINE **
10 [143] **GENERAL INPUT ROUTINE **
15 :
30 :
35 [143] +++ INPUT SECTION +++
40 [151]UO,0:UR$[178]"":UI$[178]""
42 [139]UL[178]0[167]UL[178]80
45 [153]" CMDCMD";:[151]UC,0
50 [161]UI$:[139]UI$[178]""[167]50
55 [139]UI$[178][199](13)[175][195](UR$)[177][178]1[167][151]UC,1:[153]" CMD";:[137]85
60 [139]UI$[178][199](20)[167]105
62 [139] [195](UR$)[178][177]UL[167]50
65 [141]120:[143] CHECK FOR VALID CHARACTER
70 UR$[178]UR$[170]UI$
75 [153]UI$;
80 [137]50
85 [143] +++ CHECK FOR HELP REQUEST +++
90 [139]UR$[178]UX$[167]195:[143] EXIT TO HELP ROUTINE
95 [139]UF[178]1[167][141]240
100 UF[178]0:[153]:[142]
102 [143] ++ CHECK DELETE ++
105 [139][195](UR$)[179]1[167]50
110 UR$[178][200](UR$,[195](UR$)[171]1)
115 [153]"CMD CMDCMD";:[137]50
120 [143] ++ CHECK FOR VALID CHARACTERS ++
125 [139][195](US$)[178]0[167]150
130 [129]US[178]1[164][195](US$)
135 [139]UI$[178][202](US$,US,1)[167][142]
140 [130]
145 UI$[178]"":[142]
150 [143] ** STANDARD INPUT **
152 [139][198](UI$)[178]46[167][142]
155 [139]UI$[178][199](32)[167][142]
160 [139][198](UI$)[179]48[176][198](UI$)[177]57[167]170
165 [142]
170 [139][198](UI$)[179]65[176][198](UI$)[177]90[167]180
175 [142]
180 [139][198](UI$)[179]193[176][198](UI$)[177]218[167]UI$[178]"":[142]
185 [139][194](UT)[178]UU%[167]UI$[178][199]([198](UI$)[171]128):[142]
187 [142]
190 UI$[178]"":[142]
195 [153]"CMD ";:UF[178]1:[143] +++ HELP ROUTINE EXIT +++
197 [141]250
200 [141]245
205 [129]UQ[178]UB[164](UB[170]880)
210 UQ%(UQ[171]UB)[178][194](UQ):[130]:[153]"LOAD"
215 UZ[178]1:UV%[178][194](UT)
216 [137]300
217 UZ[178]0:US$[178]UJ$:UG$[178]UK$:UP[178]UJ:UL[178]UK
218 [139][194](50003)[178]0[167][151]53281,1:[153]"LOAD";:[151]53281,6:[151]53280,14:[137]220
219 [153]"LOAD";
220 UT$[178]UL$:[151]UT,UV%:[129]UQ[178]UB[164](U2%[172]256[170]U1%[170]U3%[171]3)
225 [151]UQ,UQ%(UQ[171]UB):[130]
230 [151]U1,U1%
232 [151]U2,U2%
233 [151]U4,U4%
234 [151]U3,U3%[171]1
235 [137]35
240 UD%[178]((U2%[172]256[170]U1%[170]U3%)[171]UB)[173]40:[153][200](UD$,UD%[170]1):[142]
245 [153][200](UD$,24);" HELP COMING WAIT ":[142]
250 U1%[178][194](U1):U2%[178][194](U2):U3%[178][194](U3):U4%[178][194](U4)
251 UJ$[178]US$:UK$[178]UG$:UL$[178]UT$:UJ[178]UP:UK[178]UL
255 [142]
300 [143] ** MENU **
301 :
302 [153]"LOAD":[151]UT,UU%:[139][194](50003)[178]0[167][151]53281,9:[151]53280,8
303 :
305 [153]" MENU"
310 [153]" --------------------------------------"
315 [153]" 1. BEGIN MIXED NUMBERS
320 PRINT" 2. STUDENT INSTRUCTIONS"
325 PRINT" 3. TEACHER INSTRUCTIONS"
335 PRINT" 4. QUIT"
340 PRINT" --------------------------------------"
345 PRINT" PRESS A NUMBER KEY (1-4) ";
350 UL=1:US$="1234":GOSUB35:REM INPUT ROUTINE
352 US$=""
355 ONVAL(UR$)GOSUB1000,400,500,396
360 GOTO300
395 REM ** RE-ENABLE STOP KEY AND END **
396 IFPEEK(50003)<>1ANDPEEK(50003)<>160ANDPEEK(50003)<>0THEN399
397 SYSUU+71:IFPEEK(50003)=0THENPOKE53281,6:POKE53280,14
398 PRINT"[154][147]":END
399 GOSUB875:RETURN
400 REM ** STUDENT INSTRUCTIONS **
405 PRINT"[147]":POKEUT,UL%:IFPEEK(50003)=0THENPOKE53281,0:POKE53280,0
410 UH=1:UP=0:UG$="[211]TUDENT [201]NST":GOSUB850
415 PRINT" [217]OU ARE ASKED FOR THE NUMBER OF"
417 PRINT" ADDENDS YOU WISH TO ADD.(4 IS"
419 PRINT" THE MAX.) [212]HEN YOU WILL BE GIVEN"
421 PRINT" THE QUESTION.[217]OU ARE TO TYPE IN"
423 PRINT" THE DENOMINATOR, NUMERATOR AND":PRINT" THE INTEGER SUM."
435 GOSUB835
490 IFUZ=1THENSYSUP%:GOTO217
499 RETURN
500 REM ** TEACHER INSTRUCTIONS **
501 PRINT"[147]":POKEUT,UL%:IFPEEK(50003)=0THENPOKE53281,2:POKE53280,10
502 UH=1:UP=0:UG$="[212]EACHER [201]NST":GOSUB850
503 PRINT" [212]O THE BEST OF OUR KNOWLEDGE,"
504 PRINT" THIS PROGRAM IS IN THE PUBLIC"
505 PRINT" DOMAIN. [201]F THIS IS NOT THE CASE"
506 PRINT" PLEASE CONTACT:"
507 PRINT" [195]OMMODORE [194]USINESS [205]ACHINES"
508 PRINT" 3370 [208]HARMACY [193]VE.
509 [153]" ATNGINCOURT, (null)NTARIO"
510 [153]" LENANADA (null)1(null) 2(null)4"
511 [153]" (416) 499-4292"
512 UH[178]1:UP[178]1:[141] 835:[141] 850:
513 [153]" (null)ROGRAM (null)AME: (null)IXED (null)UMBERS
514 PRINT" [215]RITTEN [194]Y : [213]NKNOWN
515 [153]" (null)PGRADED PEEKY : (null)TEVE CHR$UTZ
516 PRINT" [212]HIS PROGRAM WILL RUN ON ANY
519 [153]" (null)VAL(null) 64 LEN(null)(null)(null)(null)(null)VAL(null)
520 PRINT" [195][207][205][205][207][196][207][210][197] 64 [195][207][205][208][213][212][197][210]
521 [141]835
590 [139]UZ[178]1[167][158]UP%:[137]217
599 [142]
600 [143] ** PROGRAM MODIFICATION INST **
601 [153]"LOAD":[151]UT,UL%
605 UH[178]1:UP[178]0:UG$[178]"(null)ROGRAM (null)OD":[141]850
660 [141]835
690 [139]UZ[178]1[167][158]UP%:[137]217
699 [142]
700 [143] ** TO USE 8032 LOAD CBM4032 **
710 [153]"LOADBEFORE RUNNING THIS PROGRAM ON AN 8032
720 PRINT" LOAD THE 'CBM 4032' PROGRAM"
730 SYSUU+71
740 END
800 REM ** T I T L E P A G E **
802 PRINT"[147]";:POKEUT,UU%:IFPEEK(50003)=0THENPOKE53280,14:POKE53281,6
804 FORI=1TO38:PRINT"[166][146]";:NEXT
806 FORI=1TO22:PRINT"[157][166][146]";:NEXT
808 FORI=1TO37:PRINT"[157][157][166][146]";:NEXT
810 FORI=1TO22:PRINT"[145][157][166][146]";:NEXT
812 PRINT"[169] [146]
814 [153]" WAIT WAITSTEP
816 PRINT" [146] [163][223]
818 [153]"(null) WAIT
820 PRINT"C O M M O D O R E
822 [153]"EDUCATIONAL
824 PRINT"SOFTWARE
826 [143] ** COMMODORE LOGO **
827 [153][200](UD$,24);"PRESS SPACE BAR OR WAITWAIT":I[178]0
828 [161]A$:[139]A$[179][177]" "[167]I[178]I[170]1:[139]I[179]250[167]828
830 T1$[178]"":T2$[178]"":T3$[178]"":T4$[178]"":I[178]0
832 [137]300
835 [143] ** SPACE BAR PRESS **
840 [151]UO,0:[153][200](UD$,24);"PRESS SPACE BAR TO CONTINUEWAIT"
844 [161]UI$:[139]UI$[179][177]" "[167]844
846 [142]
850 [143] ** PAGE DESIGN ROUTINE **
852 UP[178]UP[170]1
855 [153]"LOAD"[200](UT$[170]UP$,21);[201](UP$[170]UG$[170][196](UP),18)
860 [153]" --------------------------------------"
864 [139]UH[179][177]0[167]870
865 [153][200](UD$,24);[200](UP$,7);"HELP - PRESS H <RETURN>"
870 UH[178]0:[153]"":[142]
875 [143] ** PLEASE WAIT REMARK **
880 [153][200](UD$,24);" ONE MOMENT PLEASE... "
885 [142]
900 [143] ** SET UP VARIABLES **
901 UX$[178]"H":[134]UQ%(1000):UB[178]32768:U1[178]196:U2[178]197:U3[178]198:U4[178]216:UC[178]167:UU[178]1024
902 UT[178]59468:UU%[178]12:UL%[178]14:UP%[178]1146:UM[178]32768:UO[178]158:[151] 50003,0
903 [139][194](50003)[178]0[167]UB[178]1024:U1[178]209:U2[178]210:U3[178]211:U4[178]214:UC[178]204:UU[178]2048
904 [139][194](50003)[178]0[167]UT[178]53272:UU%[178]21:UL%[178]23:UP%[178]2139:UM[178]1024:UO[178]198
905 UD$[178]""
906 UP$[178]" "
907 UT$[178]" (null)RIGHT$(null)VALSTR$CLOSE(null)(null)(null)PEEKVAL(null)(null)CLOSECLOSECLOSECLOSECLOSE":[143] PLACE PROGRAM TITLE HERE !!!!!!!!!!!!!!!!!***
908 [142]
910 [143] ** SET VARIABLES **
915 [141]900
920 [143] ** CHECK FOR 8032 **
925 [153]"LOAD":[153]"CLOSE":[143] SHIFTED SPACE
930 [139][194](UB[170]40)[179][177]96[167][141]700
931 [143] ** MEMORY CHECK **
932 [139] [184](0)[177]2000[167]937
933 [153]"LOADTHIS MACHINE DOES NOT HAVE ENOUGH"
934 [153]"MEMORY TO RUN THIS PROGRAM !"
935 [158]UU[170]71
936 [128]
937 [153]"LOAD":[139][194](50003)[178]0[167]962
940 [143] ** BASIC 2.0 OR 4.0 OR C-64 SETUP **
941 [151]1075,133:[151]1076,144:[151]1077,234:[151]1079,4:[151]1080,133:[151]1081,145
942 [151]1091,155:[151]1098,133:[151]1099,144:[151]1100,234:[151]1103,133
943 [151]1104,145:[151]1105,234:[151]1082,234
945 [139][194](50003)[179][177]160[167]955
950 [151]1093,88:[151]1094,228:[151]1097,85:[151]1102,228:[137]965
955 [139][194](50003)[179][177]1[167]990
960 [151]1093,49:[151]1094,230:[151]1097,46:[151]1102,230:[137]965
962 [151]2099,141:[151]2100,20:[151]2101,3:[151]2103,8:[151]2104,141:[151]2105,21
963 [151]2106,3:[151]2115,145:[151]2117,52:[151]2118,234:[151]2121,49:[151]2122,141
964 [151]2123,20:[151]2124,3:[151]2126,234:[151]2127,141:[151]2128,21:[151]2129,3
965 [158]UU[170]48:[143] DISABLE STOP KEY
970 [141]800:[143] TITLE
980 [137]300:[143] MENU
990 [153]"LOADTHE PGM WILL NOT WORK ON THIS MACHINE!":[128]
1000 [139]UZ[178]1[167][158]UP%:[158]UP%:UZ[178]0:[143] ** PROGRAM STARTS HERE **
1001 [153]"LOAD";:[140]:[139][194](50003)[178]0[167][151]53281,6:[151]53280,14
1100 UT$[178]" MIXED NUMBERS":UG$[178]"SET-UP"
1220 UP[178]0:UH[178]1:[141]850:[153]""
1230 [153]" MIXED NUMBERSWAIT
1240 PRINT" THIS PROGRAM EXERCISES YOUR "
1250 PRINT
1260 PRINT" ABILITY TO ADD MIXED NUMBERS.":GOSUB835
1270 UH=1:GOSUB850:PRINT"";
1280 PRINT" [207][163][163][163][163][165] [207][207][207][207][207][165]
1290 [153]" (null)TOTOTOTOFN (null)(null)(null)(null)(null)FN
1300 PRINT
1310 PRINT" 12345
1330 [153]" THE BOX ON THE LEFT HAS BEEN DIVIDED
1340 PRINT"
1350 [153]" INTO FIVE EQUAL PARTS. THIS IS USUALLY
1360 PRINT" STATED BY THE SYMBOL [195][146][145][157][164] OR /[146][145][157][164]. THUS ONE
1370 [153]"
1380 PRINT" OF THE SMALL BOXES IN THE RIGHT BIG"
1390 PRINT" 1
1400 [153]" BOX WOULD BE STATED AS LEN OR 1/5.
1410 PRINT" 5
1420 [153]""
1430 [141]1800
1439 UG$[178]"QUESTION #"
1440 X[178]0:UH[178]1:UP[178]W:[141]850:[153]"HOW MANY ADDENDS DO YOU WANT? ";:
1441 [153]"(TYPE QWAIT TO QUIT)
1442 PRINT"";
1443 US$="Q234H":GOSUB35
1444 N1$=UR$
1445 IFN1$="Q"THEN2000
1446 N1=VAL(UR$)
1450 GOSUB875
1455 PRINT" "
1456 PRINT" "
1460 FOR I=1TON1
1470 A(I)=INT(RND(TI)*10):IFA(I)=0THEN1470
1480 B(I)=INT(RND(TI)*10):IFB(I)=0THEN1480:IFB(I)=1THEN1480
1490 N=A(I):D=B(I):GOSUB1730
1500 A(I)=N:B(I)=D
1510 PRINTSPC(3);A(I)-INT(A(I)/B(I))*B(I)
1520 PRINTINT(A(I)/B(I));" [195]"
1530 PRINT" "; B(I)
1540 PRINT:NEXT
1550 N=0:D=1
1560 FORI=1TON1:D=D*B(I):NEXT
1570 FORI=1TON1:N=N+(A(I)*(D/B(I))):NEXT
1580 GOSUB1730
1590 GOSUB1601
1600 W=W+1:GOTO1440
1601 PRINTLEFT$(UD$,24);" HELP - PRESS H <RETURN> "
1610 PRINT""SPC(17)"I [162][162][162][162][145][157][157][157]N"
1620 PRINT""SPC(12)"TYPE DENOMINATOR":Q=INT(N/D):GOSUB1840
1630 IFD<>D2THEN1710:
1640 PRINT""SPC(12);"TYPE NUMERATOR ":N3=N-(Q*D):GOSUB1860
1650 IFN3<>N2THEN1720
1660 PRINT""SPC(12);"TYPE INTEGER SUM ":GOSUB1880
1670 IFQ<>Q2THEN1700
1680 PRINT"THAT'S RIGHT!":PRINT"***VERY GOOD***[146]"
1685 Z=Z+(3-X)
1690 GOSUB835:RETURN
1700 PRINT" INTEGER SUM INCORRECT":X=X+1
1705 PRINT" TRY AGAIN":GOSUB1900:GOTO1660
1710 PRINT" DENOMINATOR INCORRECT":X=X+1
1715 PRINT" TRY AGAIN":GOSUB1900:GOTO1620
1720 PRINT" NUMERATOR INCORRECT":X=X+1
1725 PRINT" TRY AGAIN":GOSUB1900:GOTO1640
1730 REM
1731 FORP=NTO2STEP-1
1740 IFN/P=INT(N/P)THEN1760
1750 NEXTP
1760 IFD/P=INT(D/P)THEN1780
1770 GOTO1750
1780 N=N/P:D=D/P
1790 RETURN
1800 GOSUB835:RETURN
1840 PRINT""SPC(20);:PRINT" D [157][157][157]";:UL=3:US$="01 23456789DH":GOSUB35
1841 D2$=UR$:IFD2$<>"D"THEND2=VAL(D2$):RETURN
1850 PRINT"[145]"SPC(20)" ":GOTO1840
1860 PRINT""SPC(20);:PRINT" N [157][157][157][157][157]";:US$="0123 456789NH":GOSUB35
1861 N2$=UR$:IFN2$<>"N"THENN2=VAL(N2$):RETURN
1870 PRINT"[145]"SPC(20)" ":GOTO1860
1880 PRINT""SPC(16);:PRINT"I [157][157][157][157]";:US$="012345 6789IH":GOSUB35
1881 IFQ2$<>"I"THENQ2=VAL(UR$):RETURN
1890 PRINT"[145]"SPC(15)" " :GOTO1880
1900 GOSUB835
1902 PRINT" "
1904 PRINT" "
1910 PRINT"[145][145]"SPC(8)" ":RETURN
2000 IFW=0THENRETURN
2001 UG$="END":UP=0:UH=1:GOSUB850
2010 PRINT"YOU GOT"Z"POINTS OUT OF A POSSIBLE"W*3
2020 PRINT"THAT'S"INT(Z/(W*3)*100)"%!"
2030 GOSUB835
2031 W=0:Z=0:UP=0:X=0
2040 RETURN